H.264/MPEG-4 AVC (hereinafter referred to as “H.264”) is known as a coding method for use in compressing and recording a moving image (ITU-T H.264 (March 2010), Advanced video coding for generic audiovisual services). According to H.264, a difference in a quantization parameter from a block coded immediately before the current block is coded as mb_qp_delta information, whereby a quantization parameter of each block can be an arbitrary value.
Then, it is coded using a conventional binary arithmetic coding method adopted in H. 264. More specifically, each syntax element such as the above-described mb_qp_delta information is binarized, as a result of which a binary signal is generated. An occurrence probability is assigned to each syntax element in advance as a table (hereinafter referred to as an “occurrence probability table”). The above-described binary signal is arithmetically coded based on the occurrence probability table. Then, each time a binary signal is coded, the occurrence probability table is updated based on statistical information indicating whether the coded binary signal is the most probable symbol.
In recent years, an activity to standardize a further highly efficient coding technology as a successor of H.264 has started, and Joint Collaborative Team on Video Coding (JCT-VC) was established between ISO/IEC, and ITU-T. JCT-VC has been standardized a coding technology called High Efficiency Video Coding (hereinafter referred to as “HEVC”).
In the standardization of HEVC, various kinds of coding methods have been widely considered in terms of not only improvement of coding efficiency but also other aspects including simplicity of implementation and a reduction in a processing time. To reduce a processing time, methods for improving parallelism have been also considered assuming that the coding method is used on, for example, a multi-core CPU. One of them is a method for realizing parallel processing of entropy coding/decoding called “Wavefront” (JCT-VC contribution, JCTV-F274.doc available on the Internet at <http://phenix.int-evry.fr/jct/doc_end_user/documents/6_Torino/wg11/>). A next coding target should be coded using an updated occurrence probability table, so the processing cannot be performed in parallel unless the statistical information is reset. However, this leads to such a problem that resetting the statistical information deteriorates the coding efficiency. In contrast, Wavefront makes it possible to code blocks line by line in parallel, while preventing the coding efficiency deterioration, by applying an occurrence probability table obtained at the time of completion of coding a plural pre-specified number of blocks to the leftmost block in the next line. This is mainly a description of encoding process, but it is also applicable to decoding process.
However, Wavefront makes it possible to improve parallelism of arithmetic coding/decoding of each line, but actually, quantization and inverse quantization cannot be performed until the quantization parameter of the immediately preceding block in raster scan is determined. Therefore, even the current implementation of Wavefront has a problem of inability to perform entire coding/decoding processing in parallel.